.TH WINEMAKER 1 "jan 2012" "@PACKAGE_STRING@" "Manuel des développeurs de Wine"
.SH NOM
winemaker \- générer une infrastructure de construction pour la compilation de programmes Windows sur UNIX
.SH SYNOPSIS
.B "winemaker "
[
.BR               "--nobanner " "] [ " "--backup " "| " "--nobackup " "] [ "--nosource-fix "
]
.br
  [
.BR               "--lower-none " "| " "--lower-all " "| " "--lower-uppercase "
]
.br
  [
.BR               "--lower-include " "| " "--nolower-include " ]\ [ " --mfc " "| " "--nomfc "
]
.br
  [
.BR               "--guiexe " "| " "--windows " "| " "--cuiexe " "| " "--console " "| " "--dll " "| " "--lib "
]
.br
  [
.BI               "-D" macro "\fR[=\fIdéfn\fR] ] [" "\ " "-I" "rép\fR ]\ [ " "-P" "rép\fR ] [ " "-i" "dll\fR ] [ " "-L" "rép\fR ] [ " "-l" "bibliothèque "
]
.br
  [
.BR               "--nodlls " "] [ " "--nomsvcrt " "] [ " "--interactive " "] [ " "--single-target \fInom\fR "
]
.br
  [
.BR               "--generated-files " "] [ " "--nogenerated-files " "]
.br
  [
.BR               "--wine32 " "]
.br
.IR               "  répertoire_de_travail" " | " "fichier_projet" " | " "fichier_espace_de_travail"

.SH DESCRIPTION
.PP
.B winemaker
est un script perl conçu pour vous aider à entamer le
processus de conversion de vos sources Windows en programmes Winelib.
.PP
À cet effet, il peut effectuer les opérations suivantes :
.PP
-\ renommer vos fichiers sources et répertoires en minuscules s'ils ont été
convertis en majuscules durant le transfert.
.PP
-\ convertir les fins de ligne DOS en fins de ligne UNIX (CRLF vers LF).
.PP
-\ parcourir les directives d'inclusion et les références aux fichiers
de ressources pour y remplacer les backslashs par des slashs.
.PP
-\ durant l'étape ci-dessus,
.B winemaker
va également effectuer une recherche insensible à la casse du fichier
référencé dans le chemin d'inclusion, et réécrire la directive d'inclusion
avec la casse correcte si nécessaire.
.PP
.RB "-\ " winemaker
recherchera également d'autres problèmes plus exotiques comme l'emploi
de \fI#pragma pack\fR, l'utilisation de \fIafxres.h\fR dans des projets
non MFC, etc. Quand il trouve de tels points nébuleux, il émettra des
avertissements.
.PP
.RB "-\ " winemaker
peut également balayer un arbre de répertoires complet en une seule passe,
deviner quels sont les exécutables et bibliothèques en cours de construction,
les faire correspondre à des fichiers sources, et générer le \fIMakefile\fR
correspondant.
.PP
-\ finalement,
.B winemaker
générera un \fIMakefile\fR global pour une utilisation classique.
.PP
.RB "-\ " winemaker
comprend les projets de type MFC, et génère des fichiers appropriés.
.PP
.RB "-\ " winemaker
est capable de lire des fichiers projets existants (dsp, dsw, vcproj et sln).
.PP
.SH OPTIONS
.TP
.B --nobanner
Désactiver l'affichage de la bannière.
.TP
.B --backup
Effectuer une sauvegarde préalable de tous les fichiers modifiés.
Comportement par défaut.
.TP
.B --nobackup
Ne pas effectuer de sauvegarde des fichiers sources modifiés.
.TP
.B --nosource-fix
Ne pas essayer de corriger les fichiers sources (p.ex. la conversion
DOS vers UNIX). Cela évite des messages d'erreur si des fichiers sont
en lecture seule.
.TP
.B --lower-all
Renommer tous les fichiers et répertoires en minuscules.
.TP
.B --lower-uppercase
Ne renommer que les fichiers et répertoires qui ont un nom composé
uniquement de majuscules.
Ainsi, \fIHELLO.C\fR serait renommé, mais pas \fIWorld.c\fR.
.TP
.B --lower-none
Ne pas renommer de fichiers et répertoires en minuscules. Notez que cela
n'empêche pas le renommage d'un fichier si son extension ne peut être traitée
telle quelle, comme par exemple « .Cxx ». Comportement par défaut.
.TP
.B "--lower-include "
Convertir en minuscules les noms de fichiers associés à des directives
d'inclusion (ou à d'autres formes de références de fichiers pour les
fichiers ressources) que
.B winemaker
n'arrive pas à trouver. Comportement par défaut.
.TP
.B "--nolower-include "
Ne pas modifier la directive d'inclusion si le fichier référencé ne peut
être trouvé.
.TP
.BR "--guiexe " "| " "--windows"
Présumer une application graphique quand une cible exécutable ou une cible d'un
type inconnu est rencontrée.
Comportement par défaut.
.TP
.BR "--cuiexe " "| " "--console"
Présumer une application en mode console quand une cible exécutable ou une cible d'un
type inconnu est rencontrée.
.TP
.B --dll
Présumer une DLL quand une cible d'un type inconnu est rencontrée (c.-à-d. si
.B winemaker
ne peut déterminer s'il s'agit d'un exécutable, d'une DLL ou d'une bibliothèque statique).
.TP
.B --lib
Présumer une bibliothèque statique quand une cible d'un type inconnu est rencontrée (c.-à-d. si
.B winemaker
ne peut déterminer s'il s'agit d'un exécutable, d'une DLL ou d'une bibliothèque statique).
.TP
.B --mfc
Spécifier que les cibles utilisent les MFC. Dans ce cas,
.B winemaker
adapte les chemins d'inclusion et des bibliothèques en conséquence,
et lie la cible avec la bibliothèque MFC.
.TP
.B --nomfc
Spécifier que les cibles n'utilisent pas les MFC. Cette option empêche
l'utilisation des bibliothèques MFC même si
.B winemaker
rencontre des fichiers \fIstdafx.cpp\fR ou \fIstdafx.h\fR qui activeraient
les MFC automatiquement en temps normal si ni \fB--nomfc\fR ni \fB--mfc\fR n'était
spécifiée.
.TP
.BI -D macro "\fR[\fB=\fIdéfn\fR]"
Ajouter la définition de macro spécifiée à la liste globale des
définitions de macros.
.TP
.BI -I répertoire
Ajouter le répertoire spécifié au chemin global d'inclusion.
.TP
.BI -P répertoire
Ajouter le répertoire spécifié au chemin global des DLL.
.TP
.BI -i dll
Ajouter la bibliothèque Winelib à la liste global de bibliothèques Winelib
à importer.
.TP
.BI -L répertoire
Ajouter le répertoire spécifié au chemin global des bibliothèques.
.TP
.BI -l bibliothèque
Ajouter la bibliothèque spécifiée à la liste globale de bibliothèques à utiliser lors de l'édition des liens.
.TP
.B --nodlls
Ne pas utiliser l'ensemble standard de bibliothèques Winelib pour les imports,
c.-à-d. que toute DLL utilisée par votre code doit être explicitement spécifiée à l'aide d'options
\fB-i\fR.
L'ensemble standard de bibliothèques est : \fIodbc32.dll\fR, \fIodbccp32.dll\fR, \fIole32.dll\fR,
\fIoleaut32.dll\fR et \fIwinspool.drv\fR.
.TP
.B --nomsvcrt
Définir certaines options afin que \fBwinegcc\fR n'utilise pas
msvcrt durant la compilation. Utilisez cette option si certains fichiers cpp
incluent \fI<string>\fR.
.TP
.B --interactive
Utiliser le mode interactif. Dans ce mode,
.B winemaker
demandera de confirmer la liste de cibles pour chaque répertoire, et ensuite
de fournir des options spécifiques de répertoire et/ou de cible.
.TP
.BI --single-target " nom"
Spécifier qu'il n'y a qu'une seule cible, appelée \fInom\fR.
.TP
.B --generated-files
Générer le \fIMakefile\fR. Comportement par défaut.
.TP
.B --nogenerated-files
Ne pas générer le \fIMakefile\fR.
.TP
.B --wine32
Générer une cible 32 bits. Utile sur les systèmes wow64. Sans cette option,
l'architecture par défaut est utilisée.

.SH EXEMPLES
.PP
Voici quelques exemples typiques d'utilisation de
.B winemaker
:
.PP
$ winemaker --lower-uppercase -DSTRICT .
.PP
Recherche des fichiers sources dans le répertoire courant et ses
sous-répertoires. Quand un fichier ou répertoire a un nom composé
uniquement de majuscules, le renomme en minuscules. Ensuite, adapte tous
ces fichiers sources pour une compilation avec Winelib, et génère des
\fIMakefile\fRs. \fB-DSTRICT\fR spécifie que la macro \fBSTRICT\fR doit
être définie lors de la compilation des sources.
Finalement, un \fIMakefile\fR est créé.
.PP
L'étape suivante serait :
.PP
$ make
.PP
Si vous obtenez des erreurs de compilation à ce moment (ce qui est plus que
probable pour un projet d'une taille raisonnable), vous devriez consulter
le guide de l'utilisateur de Winelib pour trouver des moyens de les résoudre.
.PP
Pour un projet utilisant les MFC, vous devriez plutôt exécuter les commandes
suivantes\ :
.PP
$ winemaker --lower-uppercase --mfc .
.br
$ make
.PP
Pour un fichier projet existant, vous devriez exécuter les commandes suivantes :
.PP
$ winemaker monprojet.dsp
.br
$ make
.PP

.SH LIMITATIONS / PROBLÈMES
.PP
Dans certains cas, vous devrez éditer manuellement le \fIMakefile\fR ou les fichiers
sources.
.PP
En supposant que l'exécutable ou la bibliothèque windows est disponible, on peut
utiliser
.B winedump
pour en déterminer le type (graphique ou en mode console) et les
bibliothèques auxquelles il est lié (pour les exécutables), ou quelles fonctions
elle exporte (pour les bibliothèques). On pourrait ensuite restituer tous ces
réglages pour la cible Winelib correspondante.
.PP
De plus,
.B winemaker
n'est pas très apte à trouver la bibliothèque contenant l'exécutable : elle doit
être soit dans le répertoire courant, soit dans un des répertoires de
.BR LD_LIBRARY_PATH .
.PP
.B winemaker
ne prend pas encore en charge les fichiers de messages, ni le compilateur
de messages.
.PP
Les bugs peuvent être signalés (en anglais) sur le
.UR https://bugs.winehq.org
.B système de suivi des problèmes de Wine
.UE .
.SH AUTEURS
François Gouget pour CodeWeavers
.br
Dimitrie O. Paun
.br
André Hentschel
.SH DISPONIBILITÉ
\fBwinemaker\fR fait partie de la distribution de Wine, qui est disponible sur WineHQ, le
.UR https://www.winehq.org/
.B quartier général du développement de Wine
.UE .
.SH VOIR AUSSI
.BR wine (1),
.br
.UR https://www.winehq.org/help
.B Documentation et support de Wine
.UE .
